/*
 * JugadorThreadEnvio.h
 *
 *  Created on: 14/06/2014
 *      Author: javier
 */

#ifndef JUGADORTHREADENVIO_H_
#define JUGADORTHREADENVIO_H_

#include <Thread.h>
#include "BLQueue.h"
#include "Message.h"

class Partida;
class JugadorConectado;

class JugadorThreadEnvio: public Thread {
public:
	JugadorThreadEnvio(Mutex * mutex, int socketFD);
	void run();
	void enqueueEventMessage(Message m);
	virtual ~JugadorThreadEnvio();
	void setPartida(Partida* partida);
	void setJugadorConectado(JugadorConectado* jugadorConectado);
	void closeConnections();
private:
	BLQueue<Message> queue;
	Partida* partida;
	JugadorConectado* jugadorConectado;
	Mutex * mutex;
	int sockfd;
};

#endif /* JUGADORTHREADENVIO_H_ */
